﻿using System;
using System.Collections.Generic;
using AccesoADatos;
using Entidades;

namespace LogicaDeNegocios
{
	public class TiposEstado
	{
		#region Campos

		AuxiliarTipoEstado Auxiliar;

		#endregion

		#region Constructor

		public TiposEstado()
		{
			Auxiliar = new AuxiliarTipoEstado();
		}

		#endregion

		#region Métodos

		#region Agregar Tipo Estado

		public bool Agregar(TipoEstado nuevoTipoEstado)
		{
			bool resultado = false;
			try
			{
				TipoEstado tipoEstadoAgregado = Auxiliar.Agregar(nuevoTipoEstado);

				if (tipoEstadoAgregado != null)
				{
					resultado = true;
				}
			}
			catch (Exception ex)
			{
				throw (ex);
			}
			return resultado;
		}

		#endregion

		#region Modificar Tipo Estado

		public bool Modificar(TipoEstado tipoEstadoAModificar)
		{
			bool resultado = false;
			try
			{
				Auxiliar.Modificar(tipoEstadoAModificar);
				resultado = true;
			}
			catch (Exception ex)
			{
				throw (ex);
			}
			return resultado;
		}

		#endregion

		#region Eliminar Tipo Estado

		public bool Eliminar(TipoEstado tipoEstadoAEliminar)
		{
			bool resultado = false;
			try
			{
				Auxiliar.Eliminar(tipoEstadoAEliminar);
				resultado = true;
			}
			catch (Exception ex)
			{
				throw (ex);
			}
			return resultado;
		}

		#endregion

		#region Listar Tipo Estado(s)

		public List<TipoEstado> Listar(byte codigo = 0)
		{
			List<TipoEstado> resultado = null;
			try
			{
				resultado = Auxiliar.Listar(codigo);
			}
			catch (Exception ex)
			{
				throw (ex);
			}
			return resultado;
		}

		#endregion

		#endregion
	}
}
